Most conventional computer systems maintain an internal clock to keep track of the time of day. Accurate time of day measurements are required in a wide variety of applications, such as, managing and tracking electronic mail (email), timing back-ups of data on a network, synchronizing communications between clients and servers, and managing multimedia teleconferences. Because the time clocks maintained by most computer systems tend to be subject to a certain amount of error or “drift”, it becomes necessary to synchronize such clocks to an accurate reference clock from time to time to maintain their accuracy.
Various solutions have been developed to synchronize the time clock of a computer system. A simple method is for the user of a computer system to manually adjust the clock whenever the clock appears to have drifted. This technique, however, is both inconvenient for the user and subject to its own inaccuracies. A more sophisticated solution makes use of a server computer system operating on a network, such as the Internet. The server maintains a highly accurate time clock, such as an atomic clock, and provides accurate time readings to other computer systems on the network using a communication protocol, such as, Network Time Protocol (NTP).
A client computer system may send a request for an accurate time reading via the Internet to an NTP server when it is necessary to synchronize its internal clock. The request may be routed to one of a number of secondary servers that function as intermediaries between client systems requiring clock synchronization and a primary NTP server. The use of such secondary servers is intended to reduce the loading on the primary NTP server. A primary NTP server may be maintained, for example, by a government entity such as the U.S. Navy, while access to the primary NTP server is regulated by secondary NTP servers maintained by universities and business enterprises for use by their students and employees, respectively.
However, as the number of client computers increases, particularly, in a local area network and each of the client computer has to access the NTP server or the secondary NTP server (e.g., NTP proxy server), in order to synchronize their respective system clocks, the traffic to the NTP servers and/or proxy servers may still be significant and sometimes such traffic would cause significant delay.